package com.xframe.xdal.core.autofill.proc;

import com.xframe.xdal.core.autofill.IAutoFillBean;
import com.xframe.xdal.core.autofill.IAutoProc;
import com.xframe.xdal.core.util.StringUtil;
import lombok.extern.log4j.Log4j2;

/**
 * 默认值自动填充
 *
 * @author xufeng
 * @date 2022-09-19
 * @version 1.0
 * */
@Log4j2
public class ValueAutoProc implements IAutoProc {

    //private Class<?> dataType;
    //public ValueAutoProc(Class<?> dataType){
        //this.dataType = dataType;
    //}

    /**
     * 自动填充处理
     *
     * @param autoFillBean 自动填充处理配置
     * @param entity 被填充的对象
     * @return UUID String
     */
    @Override
    public Object getVal(IAutoFillBean autoFillBean, Object entity, Object val) {
        try {
            // 根据dataType 来完成类型转换 返回值,转换失败则返回NULL
            return StringUtil.StringConvert(autoFillBean.getFieldType(), autoFillBean.getDefVal());
        }catch (Exception exception){
            // 忽略的异常
            log.error(exception.getMessage());
            return null;
        }
    }
}
